<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>NanoVM</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/NanoVM"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-NanoVM rootpage-NanoVM skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">NanoVM</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><table class="float-right infobox toccolours toptextcells" style="border-spacing:5px; font-size:90%; text-align:left; width:21em;">
<tbody><tr>
<th colspan="2" class="hintergrundfarbe6" style="font-size:105%; text-align:center;">NanoVM
</th></tr>
<tr>
<th colspan="2" class="hintergrundfarbe5" style="font-size:105%; text-align:center;">Basisdaten
<p class="mw-empty-elt">
</p>
</th></tr>
<tr>
<td><b><a href="Softwareentwickler" title="Softwareentwickler">Entwickler</a></b>
</td>
<td>Till Harbaum
</td></tr>
<tr>
<td><b>Aktuelle <a href="Version_(Software)" title="Version (Software)">Version</a></b>
</td>
<td>1.6 <br> (8. Juli 2007)
</td></tr>
<tr>
<td><b><a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a></b>
</td>
<td><a href="C_(Programmiersprache)" title="C (Programmiersprache)">C</a>
</td></tr>
<tr>
<td><b>Lizenz</b>
</td>
<td><a href="GNU_General_Public_License" title="GNU General Public License">GPL</a> (<a href="Freie_Software" title="Freie Software">Freie Software</a>)
</td></tr>
<tr>
<td class="hintergrundfarbe5" colspan="2" style="text-align:center;"><a rel="nofollow" class="external text" href="http://harbaum.org/till/nanovm/">harbaum.org/till/nanovm</a>
</td></tr></tbody></table>
<p><b>NanoVM</b> ist eine <a href="Freie_Software" title="Freie Software">freie</a> Implementierung einer besonders ressourcenschonenden <a href="Java_Virtual_Machine" title="Java Virtual Machine">Java Virtual Machine</a> (JVM) für <a href="Atmel_AVR" class="mw-redirect" title="Atmel AVR">Atmel-AVR</a>-<a href="Mikrocontroller" title="Mikrocontroller">Mikrocontroller</a> (MCU).
</p><p>Zur eigentlichen virtuellen Maschine gehört auch ein Konvertierungswerkzeug, das der notwendigen Konvertierung von gewöhnlichen Java-Klassendateien für die Verwendung mit der NanoVM dient.
</p><p>Die NanoVM benötigt in der kleinsten Version nur 8 kByte an Programmspeicher und nur 256 Byte Arbeitsspeicher.
Aufgrund der geringen Anforderungen an die Systemressourcen des Wirtssystems gehört die NanoVM zu den kleinsten verfügbaren Java Machines und ist bereits auf einem ATmega8 lauffähig. Es implementiert dazu nur einen Ausschnitt der Programmiersprache Java. Die NanoVM bietet nur die Sprache Java, nicht aber die System-Bibliothek (JDK). Der Einsatz der NanoVM ist auch auf anderen 8-<a href="Bit" title="Bit">Bit</a>-MCUs der AVR-Reihe möglich. Sie wurde auf die Roboterbausätze Nibo und <a href="NIBObee" title="NIBObee">NIBObee</a> portiert, die auch offiziell unterstützt werden. Andere Mikrocontroller als die AVR-Controller werden bisher nicht offiziell unterstützt.
NanoVM ist für den Einsatz von kleinen <a href="Eingebettetes_System" title="Eingebettetes System">eingebetteten Systemen</a> bestens geeignet, die damit per Java-Bytecode gesteuert werden können.
</p><p>Die <a href="Universit%C3%A4t_Duisburg-Essen" title="Universität Duisburg-Essen">Universität Duisburg-Essen</a> setzte die JVM z. B. beim c’t Bot, einem Roboter-Projekt der Computerzeitschrift <a href="C%E2%80%99t" title="C’t">c’t</a>, ein. Das Projekt <a href="ASURO" title="ASURO">ASURO</a> war der erste Roboter, der NanoVM einsetzte.
</p><p>Die Version 1.1 wurde im September 2005 veröffentlicht, die aktuelle Version 1.6 vom 8. Juli 2007.
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementierte_Java-Klassen">Implementierte Java-Klassen</h2></div>
<p>In NanoVM sind folgende Java-Klassen implementiert:
</p>
<ul><li>java/lang/Object</li>
<li>java/lang/System</li>
<li>java/io/PrintStream</li>
<li>java/lang/StringBuffer</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://harbaum.org/till/nanovm/">offizielle Webpräsenz</a></li>
<li><a rel="nofollow" class="external text" href="http://sourceforge.net/projects/nanovm/">NanoVM auf Sourceforge</a></li>
<li><a rel="nofollow" class="external text" href="http://www.mikrocontroller.net/articles/NanoVM">Artikel bei mikrocontroller.net</a></li>
<li><a rel="nofollow" class="external text" href="http://swe.uni-duisburg-essen.de/en/members/schmidt/ctbot/index.php">c’t-Bot Projektseite der Uni Duisburg-Essen</a></li>
<li><a rel="nofollow" class="external text" href="http://www.ctbot.de/">Internetseite c’t Bot</a></li>
<li><a rel="nofollow" class="external text" href="http://www.arexx.com/arexx.php?cmd=goto&cparam=p_asuro">Internetseite Asuro</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2023-06-29" href="https://de.wikipedia.org/wiki/?title=NanoVM&oldid=235049543">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>